The present invention relates generally to optical computing and data processing systems and, more particularly, to optical computing or logic cells constructed of spatial light rebroadcasters which cells can be utilized to construct subsystems for a digital optical computer and for performing masking, interface and other operations within such an optical computer.
The advantages of optical techniques over electronics have long been recognized and have lead to extensive use of optical devices in communications. As the size and speed limitations inherent in present electronic technology are imposing limits on computer development in terms of size reduction and operating speeds, optical techniques are being investigated to overcome the limits. Ideally, optics would initially be added to existing computer systems to perform such operations as storage and intercommunications among multiple processors but in smaller packages and in higher speed devices. Ultimately, optics would substantially replace electronics for performing computational operations in addition to storage and communications.
To this end, architectures for utilizing optical techniques in computers or optical computing are being proposed and tested. One approach has been to construct primitive optical elements which are then interconnected in a truly general Purpose machine. This approach may be traceable back to Dr. Alan Turing who, in the 1950's, preferred such an approach. In any event, such general purpose architectures appear to be the object of proposed optical computer designs incorporating techniques referred to in the literature as Symbolic Substitution and Computational Origami.
For electronic computers, history has shown that the generalized approaches, while arguably theoretically preferable, had to yield to cost effective engineering design considerations which led to constructing computers as interconnected subsystems. Consequently, the architecture proposed much earlier by Babbage for a mechanical computer, "the analytic engine", was adopted.
In this architecture, subsystems are designed for arithmetic, memory, control, input/output and systems software. For the reasons which originally lead to the subsystems approach as well as for accommodating a phased-in introduction of optical components to the extensive amount of electronic computer hardware already in use, it seems likely that a subsystems approach will once again be Preferred. Thus, to construct a competitive optical computer it appears that it will be necessary to first construct subsystems: arithmetic units such as full adders; interconnection networks; control units; and memory units in addition to system software to make the computer easy to use.
A variety of optical elements are currently available for implementing optical computers either in the form of a truly general purpose machine or in the form of interconnected subsystems architecture. Available optical elements include: fiber optics which are already extensively used in communications; spatial light modulators (SLM's) wherein the transmittance or reflectance of pixels of the modulators can be electronically or optically controlled; and, spatial light rebroadcasters (SLR's) which are sensitive to different frequencies of light for writing/reading and luminesce upon being read. Additional optical elements are in the research and development stage and include even once "living" optical computer elements in the form of bacteriorhodopsin protein which has photosynthesis behavior tuned to certain light frequencies.
In view of the different approaches to constructing optical computers, two of which are briefly outlined above, and the variety of optical devices presently or soon to be available to pursue these approaches, there is a need for an optical element or family of optical elements and a strategy for using such optical element(s) which will enable a coherent approach to the development of an optical computer. While it is desirable for the optical element(s) and design strategy to be generally applicable to differing architectures, the optical element(s) and design strategy should be particularly applicable to the development of optical subsystems since this appears to be the presently preferred architecture, both for phase-in and ultimate design of optical computers.